package com.xuetang9.service;

import com.xuetang9.domain.User;
import com.xuetang9.dto.InputDto;
import com.xuetang9.dto.a.ListRequestDTO;
import com.xuetang9.vo.ListVO;

import java.util.List;

/**
 * 用户业务执行接口
 */
public interface UserService {
    /**
     * 执行查询业务
     * @param inputDto 业务层输入传输对象
     * @return 查询结果
     */
    default ListVO listUser(InputDto inputDto) {
        return null;
    }

    /**
     * 执行添加业务
     * @param inputDto 业务层输入传输对象
     * @return 添加结果
     */
    default int insertUser(InputDto inputDto ){
        return -1;
    }

    /**
     * 根据id删除用户
     * @param id 传id参数删除用户
     * @return 返回受影响行数
     */
    default int deleteUser(int id){return -1;}


    /**
     * 更新用户数据
     * @param user 更新用户对象数据
     * @return 返回受影响行数
     */
    default int updateUser(User user){return -1;}

    /**
     * 根据用户的id主键修改状态
     * @param id 更新用户对象数据
     * @return 返回受影响行数
     */
    default int updateUserStatus(int id){return -1;}
}
